 #include "STC15W4K.h" 
 sbit ANNIU1=P3^4;
 sbit ANNiU2=P3^5;
 sbit INT_AN=P3^6;     // int2
 sbit MCU_LED=P3^7;
 unsigned int JS,pp=0;
 void time (void)    //ʱʱ
			{
		    TMOD=0x01;		 //ģʽã00000001õǶʱ1ģʽ1M1=0M0=1
	        TR0=1;			   //򿪶ʱ
			TH0=0Xff;		   //ʱãÿ100뷢һжϡ
			TL0=0Xa3;
			ET0=1;			   //ʱ0ж
			EA=1;			     //ж   
            }
	void yanshi(JS)
		 {				 
		 	time();						
			while(pp<JS);
			pp=0;			  
		 }
    void WBZD_int2(void)
			 {	 
			 INT_CLKO|=0x10; 			 //ⲿINT2ж		
             EA=1;			 
			 }
			 
	void main()
		  {				
	         unsigned char code led[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
			 unsigned char code led1[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};  	
             unsigned char code led2[]={0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};  			 
			 unsigned char code sz1[]={0x20,0x24,0xFC,0x24,0x24,0x24,0x45,0x87};       //"š
			 unsigned char code sz2[]={0x00,0x7E,0x00,0x00,0x00,0x00,0XFF,0x00};       //"
			 unsigned char code sz8[]={0x00,0x66,0x99,0x81,0x81,0x42,0x24,0x18};       //"ġ
			 unsigned char code sz9[]={0x10,0x10,0xFE,0x92,0x92,0xFE,0x10,0x10,};      //С
			 unsigned char i,k;
			 unsigned int j,l;
			 P0M0 = 0x00;
			 P0M1 = 0x00;
             P1M0 = 0x00;
             P1M1 = 0x00;
             P2M0 = 0x00;
             P2M1 = 0x00;      
             P3M0 = 0x00;
             P3M1 = 0x00;	
             			 
			 P0=0x00;                   //LED 
			 P1=0x00;                   //LED 
			 P2=0x00;	                //74LS573Ƭѡ				 
			 P3=0x00;         			 	
			 WBZD_int2();		    //ж   
			 
			 while(1)
				 {	 
				  P0=0x00;                   //LED 
				  P1=0x00;                   //LED 
				  P2=0x00;	                  //74LS573Ƭѡ
				 /* for(i=0;i<3;i++)
					 {
				      yanshi(500);
					  MCU_LED=1;           //
					  yanshi(500);
					  MCU_LED=0;           
					  yanshi(500);
			  		 }						 
				  P0=0x00;
                  P1=0x00;	 
				  P2=0x00; 
         		  for(i=0;i<8;i++)   // x
					 {
					  P0=led2[i];	
					  P2=0x81;
					  P1=0x81;		             
					  yanshi(50);	                       											
					 } 
				  P0=0x00;
				  P2=0x00;
                  P1=0x00;
				  
				  for(i=0;i<8;i++)  // y
					 {
					  P0=0x81;
					  P2=led2[i];
					  P1=0X81;			
					  yanshi(1500);						       													
					 } 
				  P0=0x00;	
                  P2=0x00;											
				  P1=0x00;											
				  for(i=0;i<8;i++)   // x
				     {
					  P0=led2[i];		
                      P2=0x81;		
                      P1=0x81;												
                      yanshi(1500);						
					 } 								 
                  P0=0x00;
				  P2=0x00;
				  P1=0x00;
				  for(i=0;i<8;i++)  //  y
					 {
					  P0=0x81;
					  P2=led2[i];	
                      P1=0x81;												
					  yanshi(1500); 											                       											
					 } 						
				  P0=0x00;
				  P2=0x00;	
				  P1=0x00;		*/


				  for(k=0;k<4;k++)		           //
					 {
					  j=7-k;	
					  for(i=k;i<j;i++)  
						 {
						  P0=led[i];		             //
						  P2=0xff;
						  P1=led[k];                   // ѡеX	
						  yanshi(1000);	
						 }						  
                   P0=0x00;
				   P2=0x00;	
				   P1=0x00;								 
					  } 	              	 			 
				   for(i=k;i<j;i++)    	        //							
					  { 
					   P0=led[j];	
					   P2=0xff;
					   P1=led[i];                //ѡеX  
					   yanshi(1000);
					   P0=0x00;
					   P2=0x00;	
					   P1=0x00;
					  } 					                 
				  for(i=j;i>k;i--)  
					 {
					  P0=led[i];		           //
					  P2=0xff;
					  P1=led[j];             // ѡеX		
					  yanshi(1000);
					  P0=0x00;
					  P2=0x00;	
					  P1=0x00;
					 } 					   			 
				  for(i=j;i>k;i--)	    	//							
					 {				
					  P0=led[k];		      	  //ѡеX
					  P2=0xff;
					  P1=led[i];
					  yanshi(1000); 
					  P0=0x00;
					  P2=0x00;	
					  P1=0x00;
					 } 		 
					 } 	
				  P0=0x00;       //ʼ 
			      P1=0x00;	  	  //ʼ 
				  for(k=0;k<8;k++)   //
					 {							 
					  P0=led[k];
					  P2=0xff;
				  	  P1=0xff;
					  yanshi(1000);
					  P0=0x00;       //ʼ 
					  P2=0x00;
			          P1=0x00;	  	  //ʼ 	 
					 }
				  for(k=0;k<8;k++)  //
					 {
				   	  P0=0xff;		
                      P2=0xff;								 
					  P1=led[k];
					  yanshi(1000);
					  P0=0x00;       //ʼ 
					  P2=0x00;
			          P1=0x00;	  	  //ʼ 	                                    
					 } 	          				 
				 for(i=0;i<8;i++)      //ϵƣԽߣ
							 {
							 P0=led[i];
							 P2=0xff;
							 P1=led[i];
							 yanshi(1000);
							 P0=0x00;       //ʼ 
							 P2=0x00;
			         P1=0x00;	  	  //ʼ 
							 }					 
					for(i=0;i<8;i++)      //ϵ£Խߣ
							 {
							 j=7-i;
							 P1=led[i]; 
							 P2=0xff;
							 P0=led[j];
							 yanshi(1000); 
	             P0=0x00;       //ʼ 
							 P2=0x00;
			         P1=0x00;		    //ʼ	
							 }
							 
					 for(k=0;k<8;k++)		        //Խˮ
							 {
							 j=7-k;
							 P1=led1[k];            // ѡеX		
							 for(i=0;i<8;i++)  
								 {
								 P0=P1;		         //
								 P2=0xff;
								 } 		
							 yanshi(1000);
							 }								 
					  yanshi(5000);		
							 
						P0=0x00;       //ʼ 
			      P1=0x00;		    //ʼ	
					  for(l=0;l<1;l++)               // ʾ
								{
									for(j=0;j<3000;j++)
										{
										i=7;
										for(k=8;k>0;k--)		        //
											 {											 	 
											 P0=sz1[i];
											 P1=led[i];
											 i--;
											 yanshi(50);
											 }
											 P0=0x00;       //ʼ 
									     P1=0x00;		    //ʼ	
									  }				 
								  yanshi(50);										
									for(j=0;j<3000;j++)
										{
										i=7;
										for(k=8;k>0;k--)		        //
											 {											 	 
											 P0=sz2[i];
											 P1=led[i];
											 i--;
											 yanshi(50);
											 }
											 P0=0x00;       //ʼ 
									     P1=0x00;		    //ʼ	
									  }				 
								  yanshi(50);
									for(j=0;j<3000;j++)
										{
										i=7;
										for(k=8;k>0;k--)		        //
											 {											 	 
											 P0=sz8[i];
											 P1=led[i];
											 i--;
											 yanshi(50);
											 }
											 P0=0x00;       //ʼ 
									     P1=0x00;		    //ʼ	
									  }				 
								  yanshi(50);
							    for(j=0;j<3000;j++)
										{
										i=7;
											for(k=8;k>0;k--)		        //
												 {												 	 
												 P0=sz9[i];
												 P1=led[i];
												 i--;
												 yanshi(50);
												 }												 
										     P0=0x00;       //ʼ 
									       P1=0x00;		    //ʼ	
										}
									yanshi(50);																					
								}								
				}
		}
		
	 void time0() interrupt 1     //ʱжϷ
				{	
					TH0=0Xff;
					TL0=0Xa3;
					pp++;
				}
				
	 void exint2(void) interrupt 10
				{
				unsigned int i,j;					
        yanshi(10);	
				//INT_CLKO&=0xef;     //ֹⲿINT2ж				
				if(INT_AN==0)	
					{
					 for(i=0;i<5;i++)
					    {
							 for(j=65535;j>0;j--);
							 MCU_LED=1;           
							 for(j=65535;j>0;j--);	
							 MCU_LED=0;	
							 for(j=65535;j>0;j--);
							}		
					}
				//INT_CLKO|=0x10;     //ⲿINT2ж	
			  }					